Method and device for generating a motion field for a video sequence

ABSTRACT

A method for generating a motion field between a current frame and a reference frame belonging to a video sequence from an input set of elementary motion fields is disclosed. The method comprises performed for each pixel belonging to said current frame: determining a plurality of candidate motion vectors between the current frame and the reference frame wherein each candidate motion vector is the result of the sum of a first motion vector between the current frame and an intermediary frame belonging to the video sequence and of a second motion vector between the intermediary frame and the reference frame; and selecting a motion vector among candidate motion vectors. The method is remarkable in that elementary motion fields are obtained with different time intervals between pairs of frames and in that the first motion vector belongs to the input set of elementary motion fields and the second motion vector belongs to a set of previously selected motion vectors for other current frames of the video sequence.

TECHNICAL FIELD

The present invention relates generally to the field of dense point matching in a video sequence. More precisely, the invention relates to a method for generating a motion field between a current frame and a reference frame belonging to a video sequence from an input set of elementary motion fields.

BACKGROUND

This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.

The problem of point and patch tracking is a widely studied and still open issue with implications in a broad area of computer vision and image processing. On one side and among others, applications such as object tracking, structure from motion, motion clustering and segmentation, and scene classification may benefit from a set of point trajectories by analyzing an associated feature space. In this case, usually a sparse or semi-sparse set of meaningful points needs to be tracked such as described by Sand and Teller in “Particle Video: Long-Range Motion Estimation Using Point Trajectories” (IJCV, vol. 80, no.1, pp.72-91, 2008). Indeed, those points that carry important information about the structure of the scene are more easily tracked. Recent approaches as those presented by Brox and Malik in “Object segmentation by long term analysis of point trajectories” (Proc. ECCV, 2010) or by Fradet, Robert, and Perez in “Clustering point trajectories with various life-spans” (Proc. IEEE CVMP, 2011) are examples of the importance of long-term motion cues for spatio-temporal video segmentation.

On the other side, applications related to video processing such as augmented reality, texture insertion, scene interpolation, view synthesis, video inpainting and 2D-to-3D conversion eventually require determining a dense set of trajectories or point correspondences that permit to propagate large amounts of information (color, disparity, depth, position, etc.) across the sequence. Dense instantaneous motion information is well represented by optical flow fields and points can be simply propagated through time by accumulation of the motion vectors. That is why state-of-the-art methods as described by Brox and Malik in “Object segmentation by long term analysis of point trajectories” (Proc. ECCV, 2010) or by Sundaram, Brox and Keutzer in “Dense point trajectories by GPU-accelerated large displacement optical flow” (Proc. ECCV, 2010) have built on top of optical flow, methods for dense point tracking using such accumulation of motion vectors.

There are drawbacks to the methods for dense point tracking as mentioned above. In case of direct long-term estimation, the colour or the aspect of an object may change between 2 distant frames, thus leading to an imprecise motion field between the 2 frames. In the case of dense point tracking relying on accumulation, a drift in the displacement of the pixel may challenge the accuracy of the method.

The technical problem to solve is to provide an improved dense displacement map, also called motion field, between two frames of the video sequence.

The present invention provides such a solution.

SUMMARY OF INVENTION

The invention is directed to a method for generating a motion field between a current frame and a reference frame belonging to a video sequence from an input set of elementary motion fields. An elementary motion field is associated to an ordered pair of frames comprises for each pixel belonging to a first frame of the ordered pair of frames, a motion vector computed from a location of said pixel in the first frame to a location in a second frame of the ordered pair of frames. The method comprises the following steps performed for each pixel belonging to said current frame: determining a plurality of candidate motion vectors between the current frame and the reference frame wherein each candidate motion vector is the result of the sum of a first motion vector between the current frame and an intermediary frame belonging to the video sequence and of a second motion vector between the intermediary frame and the reference frame; and selecting a motion vector among candidate motion vectors. The method is remarkable in that the first motion vector belongs to the input set of elementary motion fields and the second motion vector belongs to a set of previously selected motion vectors for other current frames of the video sequence. Advantageously, the method allows to generate a motion field by concatenation of a previously computed long term motion field and of an elementary motion field thus limiting the drift of the estimation while relying on intermediary frame information. The method for generating a motion field thus defines a multi-step concatenation of motion fields. Advantageously, candidates motion vectors are computed from a plurality of intermediary frames corresponding to a given displacement or path of the pixel associated to the motion vectors.

According to an advantageous characteristic, the method is sequentially iterated for successive current frames belonging to the video sequence starting from the frame adjacent to the reference frame. According to a first embodiment described hereafter, the adjacent frame is the left adjacent frame while according to a second embodiment described hereafter, the adjacent frame is the right adjacent frame. Advantageously, this characteristic allows to sequentially generate a set of motion fields for a plurality frame of a video sequence since the successive frame defines an order in the sequence but may not comprise each frames of the video sequence.

According to a further advantageous characteristic, the method is sequentially iterated for each successive current frames belonging to the video sequence starting from the frame adjacent to the reference frame thus generating a set of motion fields between frames of a video sequence and a reference frame from an input set of elementary motion fields. Advantageously, this characteristic allows to sequentially generate a set of motion fields for each frame of a video sequence.

According to a further advantageous characteristic, the method is sequentially iterated for successive current frames belonging to the video sequence in the reverse order back to the reference frame. Advantageously, this characteristic allows to refine the generation of motion fields by applying a second pass on all frames of the video sequence.

According to a further advantageous characteristic, intermediary frames are temporally placed either before or after the current frame. Advantageously, this characteristic allows to take into account past and future intermediary frame information.

In a first embodiment, a motion field is generated from a current frame to a reference frame belonging to a video sequence from an input set of elementary motion field. In the first embodiment:

-   -   the plurality of candidate motion vectors (d_(n,N)(x_(n))) is         determined from the current frame (I_(n)) to the reference frame         (I_(N)),     -   each candidate motion vector (d_(n,N)(x_(n))) is the result of         the sum of a first motion vector (d_(n,n+sk)(x_(n))) from the         current frame (I_(n)) to an intermediary frame (I_(n+sk))         belonging to the video sequence and of a second motion vector         (d_(n+sk,N)(x_(n)+d_(n,n+sk)(x_(n)))) from the intermediary         frame (I_(n+sk)) to the reference frame (I_(N));     -   the first motion vector (d_(n,n+sk)(x_(n))) belongs to the input         set of elementary motion fields and the second motion vector         (d_(n+sk,N)(x_(n)+d_(n,n+sk)(x_(n))) belongs to a set of         previously selected motion vectors for other current frames of         the video sequence. The method thus generates a motion field         called “to the reference”.

In a second embodiment, a motion field is generated from a reference frame (I_(N)) to a current frame (I_(n)) belonging to a video sequence from a input set of elementary motion fields. In the second embodiment:

-   -   the plurality of candidate motion vectors (d_(N,n)(x_(N))) is         determined from the reference frame (I_(N)) to said current         frame (I_(n))     -   each candidate motion vector (d_(N,n)(x_(N))) is the result of         the sum of a second motion vector (d_(N,n−sk)(x_(N))) from said         reference frame (I_(N)) to an intermediary frame (I_(n−sk)) and         of a first motion vector (d_(n−sk,n)(x_(N)+d_(N,n−sk)(x_(N))))         from said intermediary frame (I_(n−sk)) to said current frame         (I_(n))     -   said second motion vector (d_(N,n−sk)(x_(N))) belongs to a set         of previously selected motion vectors and said first motion         vector (d_(n−sk,n)(x_(N)+d_(N,n−sk)(x_(N)))) belongs to the         input set of elementary motion fields.         Advantageously the method allows generating a motion field by a         direct concatenation of the previously computed long term motion         field and of an elementary motion field, thus generating a         motion field from the reference by opposition of a motion field         to the reference as previously described. Such motion fields are         advantageous for applications including object tracking where         one needs to track points originated in the reference image.

In a first variant, in the step of determining a plurality candidate motion vectors, the sum is a sum of at least two motion vectors through at least one intermediary frame, and wherein a last motion vector belongs to a set of previously selected motion vectors for other current frames of the video sequence and others motion vectors belongs to the input set of elementary motion fields. Thus the concatenation of the previously computed long term motion field and of at least two elementary motion fields is used to generate the set of motion fields.

In a second variant, the input set of elementary motion fields comprises elementary motion fields computed by different estimators; each estimator applying a determined method for generating an elementary motion field associated to an ordered pair of frames. In others words, the concatenation of the previously computed long term motion field and of elementary motion fields computed by different estimator is used to generate the set of motion fields. In this variant, the set of candidate motion vectors is not only function of the plurality of intermediary frames used in the concatenation, but also to the plurality of elementary motion vectors between the current frame and an intermediary frame.

Any characteristic or variant described for the method is compatible with a device intended to process the disclosed methods.

BRIEF DESCRIPTION OF DRAWINGS

Preferred features of the present invention will now be described, by way of non-limiting example, with reference to the accompanying drawings, in which:

FIG. 1 a illustrates displacement vectors integration by method for building a motion field according to prior art;

FIG. 1 b illustrates motion vectors integration by a method for building a motion field according to an embodiment of the invention;

FIG. 2 a illustrates multi step point correspondence according to a preferred embodiment of the present invention;

FIG. 2 b illustrates multi step point correspondence according to a preferred embodiment of the present invention;

FIG. 3 illustrates the steps of the method according to an embodiment of the invention; and

FIG. 4 illustrates a device configured for implementing the method according to an embodiment of the invention.

DESCRIPTION OF EMBODIMENTS

In the following description, the term “motion vector” d_(N,M)(x_(N)) comprises a data set which defines a trajectory from a pixel x_(N) into a first frame I_(N) to a corresponding location into a second frame I_(M) of a video sequence and wherein indices N and M are numbers representative of the temporal frame position in the video sequence. An elementary motion vector d_(N,N+1)(x) defines a motion vector between 2 consecutives frames I_(N) and I_(N+1). An elementary motion field comprises a set a motion vectors for each pixel from a reference frame I_(N) to a determined frame I_(n) of a video sequence computed from the reference frame I_(N) to the determined frame I_(n). The reference frame I_(N) and the determined frame I_(n) are consecutive frames or distant frames. An input set of elementary motion fields comprises a plurality of elementary motion field respectively associated to a plurality of pairs of frames of the video sequence, wherein each elementary motion field is computed independently from the others. More generally, a motion field is defined between a determined frame I_(n) and a reference frame I_(N) thus comprising embodiment wherein a motion field is defined from a reference frame I_(N) to a determined frame I_(n) and embodiment wherein a motion field is defined from a determined frame I_(n) to a reference frame I_(N).

The term “motion vector” or “displacement vector”, “elementary motion vector” or “elementary displacement vector”, “elementary motion field” or “elementary displacement field”, “elementary motion field” or “elementary displacement field” are indifferently used in the following description.

As state-of the art method for dense point tracking, the method according to the invention exploits a set of input motion fields computed independently, which we call elementary motion fields. This set, however, is composed by motion fields obtained with different estimation steps, i.e., time intervals between pairs of images. We have observed that for long term dense point matching, some regions of the image are better matched by concatenation of instantaneous motion vectors, while for others a direct long term matching is preferred.

A salient idea of the method for generating a set of motion fields for a video sequence is to propose an advantageous sequential method of combining elementary motion fields to produce a long term matching.

Consider an image sequence {I_(n)}_(n:0 . . . N) and let the last image I_(N) be the reference image. Our objective is to compute the displacement vector at each location of each image with respect to the reference, i.e. d_(n,N) (x_(n)), for each n, where x_(n) belongs to the image grid Ω. For the time being, we only assume that the elementary motion fields, d_(n,n+1), n=0 . . . N−1, computed between pairs of consecutive frames are available as input information.

In previous point tracking approaches based on optical flow, a simple 1st-order Euler integration is conducted as follows: 1) take a starting grid point x_(n)∈Ω in I_(n), 2) for m=n,n+1 . . . N−1 obtain iteratively

x _(m+1) =x _(m) +d _(m,m+1)(x _(m)),  (1)

3) repeat for each x_(n). This gives an estimate of the positions of the points at time N, by forwards concatenation of elementary motion fields. This simple scheme can then be combined with a more sophisticated global formulation for track estimation.

FIGS. 1 a and 1 b illustrates the estimation of d_(n,N) (x_(n)). FIG. 1 a illustrates motion vectors integration by method for building a motion field according to prior art accumulation method. Thus in the scheme (corresponding to Eq. 1), elementary motion vectors are interpolated and then accumulated. FIG. 1 b illustrates motion vectors integration by a method for building a motion field according to an embodiment of the invention. Thus in the scheme, (corresponding to disclosed method Eq. 2), a previously estimated long term displacement is interpolated and then accumulated with an elementary motion vector. Dashed arrows indicate the displacement vectors at grid locations used for interpolation.

The method according to a first embodiment is based on a different strategy that runs backwards and aims at computing d_(n,N) (x_(n)) while exploiting the elementary motion fields. It is given by the following iteration:

d _(n,N)(x _(n))=d _(n,n+1)(x _(n))+d _(n+1,N)(x _(n) +d _(n,n+1)(x _(n))),  (2)

for each grid location x_(n) in I_(n). That is, the current long term displacement field d_(n,N) is obtained by concatenation of the previously computed long term field d_(n+1,N) and an elementary motion field d_(n,n+1).

Note the difference between (Eq. 1) and (Eq. 2). Starting from the grid point x_(n) at image I_(n), and its elementary displacement d_(n,n+1)(x_(n)), one computes x_(n)+d_(n,n+1) (x_(n)). Then, in the former approach (Eq.1), one interpolates the velocity d_(n+1,n+2) (x_(n)+d_(n,n+1)(x_(n))) in I_(n) (e.g. by bilinear interpolation), and continues accumulating elementary motion vectors in the forward direction as illustrated on FIG. 1 a. In the second approach, the interpolation is applied once on the long term motion field d_(n+1,N) (x_(n)+d_(n,n+1) (x_(n))) directly between instants n+1 and N. This procedure implies that d_(n+1,N) in (Eq. 2) is available from the previous iteration as illustrated on FIG. 1 b. The result is that we sequentially compute the dense displacement maps d_(n,N) backwards, for every frame n with respect to the reference frame N.

In order to obtain the correspondence between all pixels of all images with respect to the reference, it is easy to see that for the standard method the complexity is O(N²P) while for the proposed method it is O(NP), where P is the number of pixels for a single image. Besides a higher efficiency, it also appears that this approach is more accurate.

According to a preferred embodiment, the previous strategy is exploited for defining an optimal and sequential way of combining elementary motion fields estimated with different frame steps (i.e. the time interval between two frames) in order to obtain an improved and dense displacement map. The reasoning is based on the following. We want to compute d_(n,N) (x_(n)). Suppose that for a set of Q_(n) frame steps at instant n, say S_(n)={s₁,s₂,s₃, . . . s_(Q) _(n) }⊂{1, . . . N−n}, the set of corresponding motion fields

{d_(n, n + s₁), d_(n, n + s₂), …  , d_(n, n + s_(Q_(n)))}

is available. For each s_(k)⊂S_(n) we write

d _(n,N) ^(k)(x _(n))=d _(n,n+s) _(k) (x _(n))+d _(n+s) _(k) _(,N)(x _(n) +d _(n,n+s) _(k) (x _(n))).  (3)

In this manner we generate different candidate displacements or paths among which we aim at deciding the optimal for each location x_(n). With Q_(n)=1∀n and s₁=1 it reduces to (Eq. 2). This scheme is somewhat related to that presented by Lempitsky, Roth and Rother in “FusionFlow: Discrete-continuous optimization for optical flow estimation” (Proc. IEEE CVPR, 2008) for computing a single optical flow field between two given images, where several candidate solutions are fused on the basis of a global optimization framework.

FIG. 1 a illustrates exemplary multi-step point correspondence. For a given point, the displacement from frames n to N can be obtained through different paths according to the input elementary motion fields (solid lines) and the previously estimated long term displacements (dashed lines).

So far the presented approach constructs each candidate path as a concatenation of two motion fields: an elementary motion field and a previously estimated long term displacement. This formulation can be generalized considering candidate paths that are constructed by concatenation of several motion fields in order to compute d_(n,N) (x_(n)). This formulation corresponds to method according to the first variant. Let us define the sequence of integers T_(k)=(n₀ ^(k),n₁ ^(k),n₂ ^(k), . . . , n_(L) _(k) ^(k)) where each n_(i) ^(k) is a time instant within the image sequence. It corresponds to a temporal path through L_(k) frames. In our case n₁=n and n_(L) _(k) =N. Thus, with this definition we can write the displacement given by a candidate path k as

${{d_{n,N}^{k}\left( x_{n} \right)} = {\sum\limits_{i = 0}^{L_{k} - 1}\; {d_{n_{i},n_{i + 1}}\left( y_{i} \right)}}},$

with y_(i)=y_(i−1)+d_(n) _(i−1) _(,n) _(i) (y_(i−1)) and y₀=x_(n). Note that T_(k) can be an arbitrary sequence of instants not necessarily monotonically increasing/decreasing, and even it could be the case that for some i, n_(i) ^(k)>N. We give different example cases included in this formulation:

-   -   I) T_(k)=(0,1,N) corresponds to the case of (Eq. 2) where an         elementary field is accumulated with a long term displacement;     -   II) T_(k)=(0,1,2,3,4,5, . . . ,N) is the standard approach         (Eq. 1) for motion accumulation;     -   III) T_(k)=(0, M, M−t) with t>0 and M a frame within the         sequence. This allows to estimate d_(0,M−t) by going in the         forward direction beyond M−t and then returning backwards with         d_(M,M−t) as illustrated on FIG. 2 b which corresponds to an         advantageous characteristic.     -   IV) Any combination of the previous cases.

We have defined and computed the Q_(n) candidates d_(n,N) ^(k)(x_(n)) for every point x_(n) in image I_(n) and now the best one has to be selected at each location. For that sake, we need to define an optimality criterion and an optimization strategy. We first define the function C_(n,N)(x_(n),d) as a matching cost between location x_(n) in image I_(n) and location x_(n)+d in I_(N). It can be arbitrarily constructed so as to exploit different spatio-temporal image cues for the sake of evaluating the goodness of the match.

Deciding for each location x_(n) independently by selecting k such that C_(n,N) (x_(n), d_(n,N) ^(k)(x_(n))) is minimized may result in the introduction of an undesired noise in the final motion field, as neighboring image points will be frequently assigned with motion values computed with different values of k. Moreover, the proposed cost may not be robust enough. Thus, we improve the result by embedding it together with a spatial Potts-like regularization process. Let K={k_(x)} be a labeling of the image grid, where each label indicates one of the available candidate paths. We introduce the energy function:

E _(n,N)(K)=Σ_(x) C _(n,N)(x,d _(n,N) ^(k) ^(x) (x)−Σ_(<x,y>)α·δ_(k) _(x) _(=k) _(h′)  (4)

where <x, y> is a pair of neighboring image locations according to the 4-point connected neighborhood and δ_(k) _(x) _(=k) _(y) is the Kronecker delta. We obtain the optimal K* by applying a graph-cut-based minimization [6]. This in turn gives the optimal long-term correspondence field d*_(n,N)(x)=d_(n,N) ^(k′) ^(x) (x).

The multi-step algorithm was described on the basis of a set of forward motion fields as inputs. The result is a forward correspondence vector for each point of each image before N. This reasoning is especially useful for video editing tasks, e.g. for the consistent insertion of graphics elements such as logos. Basically, one is able to edit frame N, and then propagate the modified values to the preceding frames using the estimated correspondence fields. Analogously, using backward motion fields as inputs one can readily consider I₀ as the reference image instead. Note that in applications where one needs to track points originated in the reference image (as opposed to track points all the way to the reference frame), it is better to apply the iteration in a different manner. In order to track each pixel x_(N) in I_(N) in the backward direction we write:

d _(N,n) ^(k)(x _(N))=d _(N,n+s) _(k) (x _(N))+d _(n+s) _(k) _(,n)(x _(N) +d _(N,n+s) _(k) (x _(N))),  (5)

so that for each starting location we can compute the position at precedent frames. Similarly, using forward motion fields, we can track all the points from image I₀ in the forward direction. It is worth to say that combining these different variations of the algorithm, one can track and match (forward and backward) all the pixels of a reference image arbitrarily picked from within the sequence.

We also define C_(n,N)(x_(n),d) in (Eq. 4) as the normalized sum of squared differences of pixel color values between image windows of size 5×5. Though this matching criterion may not be invariant to possible scale changes, illumination variations, large deformations and motion discontinuities, we have decided to keep it simple, as it permits to better observe the benefits of the multi-step approach. Meanwhile, the parameter α equals

$\begin{matrix} {{{\alpha \equiv \alpha_{xy}^{n}} = ^{- \frac{{〚{c_{x}^{n} - c_{y}^{n}}}^{2}}{\sigma^{2}}}},} & (6) \end{matrix}$

with c_(x) ^(n),c_(y) ^(n) the 3-channel color vectors at locations x and y, for image n, respectively. The value α²=3·(100)² is set manually or can be estimated locally from the color images. This enforces smoothness of the labels assigned to nearby pixels with similar color.

Dense point correspondences over time can be notably enhanced by considering multi-step flow fields. We have described a method to optimally combine several flow estimations also exploiting a new motion accumulation strategy. In fact, any elementary optical flow method can be leveraged with this scheme.

FIG. 3 represents a diagram illustrating the sequential steps of the multi-step method according to an embodiment of the invention corresponding the embodiment of “to the reference” concatenation. An input set 301 of elementary motion fields is provided at the initialisation of the method. A sequential loop is performed on frames of the video sequence. In an advantageous embodiment, motion field for consecutive frames in the video sequence is generated for instance starting from the frame I_(N−1) adjacent to the reference frame I_(N) and following the order I_(N−2), I_(N−3), . . . to I_(n+1), to I_(n). Thus motion vectors for intermediary frames that are temporally placed between the reference frame I_(N) and the current frame I_(n) are available for the determination of candidate motion vectors for the current frame I. In a step 302, an index representative of the current frame is updated for instance by decrementing the frame number in the video sequence from N to n. Then the steps 303, 304 and 305 are repeated for each pixel of the current frame in order to generate a motion field for the whole current frame. Once the steps are processed for each pixel of current frame, thus generating a multi-step integrated motion field for the current frame with respect to reference frame, the generated motion field is memorized in a step 306. The generated motion field is then a motion field available for the estimation of motion field of the next frame to be processed (previous frame along the temporal axis in this example) or for a second pass of the algorithm. In a step 303, an information (such as spatial coordinates) representative of the current pixel x_(n) in I_(n) is updated. In a step 304, a plurality of candidate motion vectors d_(n,N)(x_(n)) from the current frame I_(n) to the reference frame I_(N) is computed. Each candidate motion vector d_(n,N)(x_(n)) is the result of the sum of a first motion vector d_(n,n+sk)(x_(n)) from the current frame I_(n) to an intermediary frame I_(n+sk) and of a second motion vector d_(n+sk,N)(x_(n)+d_(n,n+sk)(x_(n))) from the intermediary frame (I_(n+sk)) to the reference frame (I_(N)) through a location (x_(n)+d_(n,n+sk)(x_(n))) belonging to an intermediary frame (I_(n+sk)). As previously described, the first motion vector (d_(n,n+sk)(x_(n))) belongs to the input set of elementary motion fields 301 and the second motion vector d_(n+sk,N) (x_(n)+d_(n,n+sk)(x_(n))) belongs to a set of previously generated motion fields 306. In a step 305, a motion vector is selected among the candidate motion vectors, computed in step 304. Any method for merging motion field is compatible with the selection step according to the invention. The description discloses a method based on a cost estimation such as Fusion flow.

Once the steps are processed for each pixel of a current frame and for each current frame of the video sequence, a set of dense motion fields for the video sequence with respect to the reference is generated. In a refinement, this complete set of generated motion field 306 is used as an input set of elementary motion fields for a second pass of the method, thus optimizing the generation of a second pass set of dense motion fields. In this refinement, since a complete set of motion field is already available, frames temporally placed before or after the current frame are used for the computing of candidate motion vectors.

The skilled person will also appreciate that as the method can be implemented quite easily without the need for special equipment by devices such as PCs. According to different variant, features described for the method are being implemented in software module or in hardware module. FIG. 4 illustrates a device for generating a set of motion fields according to a particular embodiment of the invention. The device is, for instance, a computer at content provider or service provider. The device is, in a variant, any device intended to process video bit-stream. The device 400 comprises physical means intended to implement an embodiment of the invention, for instance a processor 401 (CPU), a data memory 402 (RAM, HDD), a program memory 403 (ROM) and a module 404 for implementation any of the function in hardware. Advantageously the data memory 402 stores the processed bit-stream representative of the video sequence, the input set of elementary motion fields and the generated motion fields of previous iteration of the method. The data memory 402 further stores candidates motion vector before the selection step. Advantageously the processor 401 is configured to determine candidate motion vectors and select the optimal candidate motion vector as the generated motion vectors of the present iteration.

Each feature disclosed in the description and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination. Features described as being implemented in software may also be implemented in hardware, and vice versa. Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims. 

1-9. (canceled)
 10. A method for generating a motion field between a current frame and a reference frame belonging to a video sequence from an input set of elementary motion fields; wherein an elementary motion field associated to an ordered pair of frames comprises for each pixel belonging to a first frame of said ordered pair of frames, a motion vector computed from a location of said pixel in said first frame to a location in a second frame of said ordered pair of frames; the method comprising, performed for each pixel belonging to said current frame: determining a plurality of candidate motion vectors between said current frame and said reference frame wherein each candidate motion vector is the result of the sum of a first motion vector between said current frame and an intermediary frame belonging to the video sequence and of a second motion vector between said intermediary frame and said reference frame; selecting a motion vector among candidate motion vectors; wherein said first motion vector belongs to said input set of elementary motion fields wherein elementary motion fields are obtained with different time intervals between pairs of frames; and said second motion vector belongs to a set of previously selected motion vectors for other current frames of the video sequence.
 11. The method according to claim 10 wherein the method is sequentially iterated for successive current frames belonging to the video sequence starting from the frame adjacent to the reference frame.
 12. The method according to claim 11 wherein the method is sequentially iterated for each successive current frames belonging to the video sequence starting from the frame adjacent to the reference frame thus generating a set of motion fields between frames of a video sequence and a reference frame from an input set of elementary motion fields.
 13. The method according to claim 12 wherein the method is sequentially iterated for successive current frames belonging to the video sequence in the reverse order back to the reference frame.
 14. The method according to claim 10 wherein intermediary frames are temporally placed either before or after the current frame.
 15. The method according to claim 10 where a motion field is generated from a current frame to a reference frame belonging to a video sequence from an input set of elementary motion field and wherein the plurality of candidate motion vectors is determined from said current frame to said reference frame, each candidate motion vector is the result of the sum of a first motion vector from said current frame to an intermediary frame belonging to the video sequence and of a second motion vector from said intermediary frame to said reference frame; said first motion vector belongs to said input set of elementary motion fields and said second motion vector belongs to a set of previously selected motion vectors for other current frames of the video sequence.
 16. The method according to claim 10 where a motion field is generated from a reference frame to a current frame belonging to a video sequence from a input set of elementary motion fields; wherein the plurality of candidate motion vectors is determined from said reference frame to said current frame, each candidate motion vector is the result of the sum of a second motion vector from said reference frame to an intermediary frame and of a first motion vector from said intermediary frame to said current frame, said second motion vector belongs to a set of previously selected motion vectors and said first motion vector belongs to the input set of elementary motion fields.
 17. The method according to claim 10 wherein, in the step of determining a plurality candidate motion vectors, the sum is a sum of at least two motion vectors through at least one intermediary frame, and wherein a last motion vector belongs to a set of previously selected motion vectors for other current frames of the video sequence and others motion vectors belongs to the input set of elementary motion fields.
 18. The method according to claim 10 wherein said input set of elementary motion fields comprises elementary motion fields computed by different estimators; each estimator applying a determined method for generating an elementary motion field associated to an ordered pair of frames.
 19. A device comprising at least one processor; and a memory coupled to the at least one processor, wherein the memory stores program instructions, wherein the program instructions are executable by the at least one processor to perform the method of claim
 10. 